Communications networks are currently undergoing a revolution brought about by the explosive growth of Internet traffic and by the increasing demand for real-time information being delivered to a diversity of locations employing multiple protocols. Many situations require the ability to transfer large amounts of data across geographical boundaries with increasing speed and accuracy. However, with the increasing size and complexity of the data that is currently being transferred, maintaining the speed and accuracy is becoming increasingly difficult.
Early communications networks consisted of the same type of network or networks that employed the same network protocol. Soon thereafter, multiple communications networks consisting of different network protocols and/or different transmission mediums where connected together. The network processing systems that interfaced between these multiple communications networks had to convert between different protocols and accommodate the timing and transmission requirements of each of the different transmission mediums.
At first, the transmission speeds of the communications networks were relatively slow and the network processing systems could keep up with the traffic. Soon thereafter, faster communications networks were developed and the network processing system encountered problems with connecting networks having different transmission speeds. More specifically, the network processing systems typically employ a crossbar to send multiple packets from one network to another network.
In network processing system, such as a crossbar, each packet typically has an assigned priority depending upon the importance of the packet or the importance of the associated network. However, since multiple packets may be queued up for transmission, a high priority packet may be behind a low priority packet for the same input. A problem can occur when a second input has packets with a priority higher than the low priority packet for the first input and both the first and second inputs are contending for the same output. The second input's packets will typically be processed before the low priority packet of the first input. Thus, the high priority packet of the first input is blocked behind the low priority packet until the low priority packet is processed. This problem is typically called head of line blockage and can occur anywhere in a system that processes multiple packets having different priorities from multiple sources. Head of line blockage may seriously effect throughput or bandwidth of network processing systems such as crossbars. In view of the ever increasing demand for higher transmission speeds these head of line blockage problems are highly undesirable.
Accordingly, what is needed in the art is a system to overcome the deficiencies of the prior art.